#include <string.h>
#include <iostream>
#include <map>
#include <utility>

using namespace std;

int main()
{
   map<int, string> Employees;

   // 1) Assignment using array index notation
   Employees[5234] = "Mike C.";
   Employees[3374] = "Charlie M.";
   Employees[1923] = "David D.";
   Employees[7582] = "John A.";
   Employees[5328] = "Peter Q.";

   cout << "Employees[3374]=" << Employees[3374] << endl << endl;

   cout << "Map size: " << Employees.size() << endl;

   for( map<int,string>::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii)
   {
       cout << (*ii).first << ": " << (*ii).second << endl;
   }
}


/*
Member functions
	(constructor)	 Construct map (public member function)
	(destructor)	 Map destructor (public member function)
	operator=	 Copy container content (public member function)

Iterators:
	begin	 Return iterator to beginning (public member function)
	end	 Return iterator to end (public member function)
	rbegin	 Return reverse iterator to reverse beginning (public member function)
	rend	 Return reverse iterator to reverse end (public member function)

Capacity:
	empty	 Test whether container is empty (public member function)
	size	 Return container size (public member function)
	max_size	 Return maximum size (public member function)

Element access:
	operator[]	 Access element (public member function )

Modifiers:
	insert	 Insert element (public member function )
	erase	 Erase elements (public member function)
	swap	 Swap content (public member function)
	clear	 Clear content (public member function)

Observers:
	key_comp	 Return key comparison object (public member function)
	value_comp	 Return value comparison object (public member function)

Operations:
	find	 Get iterator to element (public member function )
	count	 Count elements with a specific key (public member function)
	lower_bound	 Return iterator to lower bound (public member function)
	upper_bound	 Return iterator to upper bound (public member function)
	equal_range	 Get range of equal elements (public member function)

Allocator:
	get_allocator	 Get allocator (public member function )
*/
